Enterprises strive to serve existing customers, expand business, improve information access, and provide richer user interactions while driving down the cost. Increasing demands for applications exploiting vast amounts of information and data available on the Internet and enterprise servers require an enterprise platform that is capable of handling sophisticated data generation, processing, communication, and presentation. New business opportunities based on cloud-access capabilities are raising customer expectations and require improvement for user interactions and user experiences. One of the key areas to deliver business value at the enterprise application level is to integrate collaboration capabilities into business and workflow processes, foster new ways of user interactions and experiences.
When multiple users collaborate on a project, different tasks are given to respective users based on their job roles and responsibilities. User experiences on an enterprise application must be adaptable to accommodate the support of multiple users of different job roles, simultaneously or through the workflow process, by providing distinct user interfaces based on their job roles. Resultantly, enterprise applications require frequent updates or plug-ins to provide streamlined support for workflow management and lifecycle management.
Inexperienced users or users who are new to their roles must familiarize themselves with the given user experiences on enterprise applications, requiring time and effort to learn new functions and features. Oftentimes, those users use different devices and tools that run on different hardware and platforms, therefore enterprise applications must support a wide variety of devices, tools, and hardware to allow the users to continue to work with the devices and tools that they are comfortable with. To expedite a user's learning, conventional knowledge-based models such as Q&A, FAQs, are commonly used. However, many enterprise applications have limited capability and scalability in expanding capability and user training to efficiently transfer and update system components based on expert knowledge. Real-time collaboration becomes difficult and inadequate among users of different roles and knowledge levels, particularly when they are collaborating with different types of machines at different places.